/*
 * Container with most water
 * 
 * Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). 
 * n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, 
 * which together with x-axis forms a container, such that the container contains the most water.
 */

#include <vector>
#include <iostream>
using namespace std;

int maxArea(vector<int> &height) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
     int max=0;
     int i = 0;
    int j = height.size() - 1;
  
    while(i < j)
    {
        int temp = min(height[i], height[j]) * (j - i);
        if(temp > max)
            max = temp;
        
           //cout<<height[i]<<','<<height[j]<<endl;
        if(height[i] <= height[j])
            i++;
        else
            j--;
     
    }

     return max;
    }

void TestmaxArea()
{
    int input[] = {1,2,3,4,5,6};
    vector<int> v(input, input + sizeof(input) / sizeof(int));
    cout<<maxArea(v);
}